package com.vcit.system.domain.student;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.vcit.common.annotation.Excel;
import com.vcit.common.core.domain.BaseEntity;

import javax.validation.constraints.Size;
import java.util.Date;

public class StudentDTO extends BaseEntity {

    /** 学生id */
    private Long id;


    private String sno;


    private String studentName;


    private String sex;

    /** 手机号码 */
    private String phone;

    /** 学生出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    /** 邮箱 */

    private String email;

    /** 家庭地址 */

    private String address;

    /** 状态 0 休学，1 在读 2 服兵役 */

    private Integer status;

    /** 政治面貌 */

    private String policalStatus;

    /** 身份证号 */
    @Size(min = 0, max = 18, message = "身份证号长度不能超过18个字符")
    private String idCard;

    /** 招生状态0=报考,1=待确认,2=审核中,3 =驳回，4=审核通过，5=未录取，6=已录取，7=未分班，8=已分班 */
    private Integer zsStatus;

    /** 名族 */
    private String nation;

    /** 入学时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTerm;

    /** 毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTerm;

    /** 系部id */
    private Long deptId;


    /** 专业id */
    private Long majorId;

    private String candidateNumber;
    //招生年份
    private String zsYear;

    /** 学生类型 0 正常报名 1 单独招生 2  预科 */
    private Integer studentType;

    /** 班级id */
    private Long clazzId;

    public String getCandidateNumber() {
        return candidateNumber;
    }

    public void setCandidateNumber(String candidateNumber) {
        this.candidateNumber = candidateNumber;
    }

    public String getZsYear() {
        return zsYear;
    }

    public void setZsYear(String zsYear) {
        this.zsYear = zsYear;
    }



    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public Integer getZsStatus() {
        return zsStatus;
    }

    public void setZsStatus(Integer zsStatus) {
        this.zsStatus = zsStatus;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSno() {
        return sno;
    }

    public void setSno(String sno) {
        this.sno = sno;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getPolicalStatus() {
        return policalStatus;
    }

    public void setPolicalStatus(String policalStatus) {
        this.policalStatus = policalStatus;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public Date getStartTerm() {
        return startTerm;
    }

    public void setStartTerm(Date startTerm) {
        this.startTerm = startTerm;
    }

    public Date getEndTerm() {
        return endTerm;
    }

    public void setEndTerm(Date endTerm) {
        this.endTerm = endTerm;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getMajorId() {
        return majorId;
    }

    public void setMajorId(Long majorId) {
        this.majorId = majorId;
    }

    public Integer getStudentType() {
        return studentType;
    }

    public void setStudentType(Integer studentType) {
        this.studentType = studentType;
    }

    public Long getClazzId() {
        return clazzId;
    }

    public void setClazzId(Long clazzId) {
        this.clazzId = clazzId;
    }

    @Override
    public String toString() {
        return "StudentDTO{" +
                "id=" + id +
                ", sno='" + sno + '\'' +
                ", studentName='" + studentName + '\'' +
                ", sex='" + sex + '\'' +
                ", phone='" + phone + '\'' +
                ", birthday=" + birthday +
                ", email='" + email + '\'' +
                ", address='" + address + '\'' +
                ", status=" + status +
                ", policalStatus='" + policalStatus + '\'' +
                ", idCard='" + idCard + '\'' +
                ", zsStatus=" + zsStatus +
                ", nation='" + nation + '\'' +
                ", startTerm=" + startTerm +
                ", endTerm=" + endTerm +
                ", deptId=" + deptId +
                ", majorId=" + majorId +
                ", studentType=" + studentType +
                ", clazzId=" + clazzId +
                '}';
    }
}
